[アップデート] Transit Gateway Network Manager がマルチアカウントをサポートしました!
ちゃだいん(@chazuke4649)です。
AWS Transit Gateway Network Manager がマルチアカウントをサポートしました!
Announcing Multi-Account Support for AWS Transit Gateway Network Manager
何が嬉しい?
AWS Transit Gateway Network Managerとは、Transit Gatewayを利用する上で欲しい機能(ネットワークの全体把握、ネットワークトポロジー、TGWルートテーブルの疎通確認、モニタリングetc)を基本無料で提供してくれるTGWを補完するサービスといえるかと思います。
そんな Network Managerですが、今まではシングルアカウントのリソース(主にTransit Gateway)しか登録することができませんでした。それが今回のアップデートで、複数のアカウントに分散されたTransit Gatewayや他ネットワークリソースを1つのNetwork Manager管理アカウントにて集中管理することができるようになりました。
そもそも Network Managerとは?
Network Managerにピンとこない人は、以下記事をご参考ください。
[新サービス] グローバルなネットワーク構成が一目瞭然!AWS Transit Gateway Network Manager を使ってみた #reinvent | DevelopersIO
[アップデート] Transit Gateway Network Manager で Route Analyzerが利用できるようになりました | DevelopersIO
Transit Gateway Network Managerを使ってTransit GatewayとVPN接続の可視化をしてみた #reinvent | DevelopersIO
Transit Gateway Network Managerを AWS CLIから操作してみる #reinvent | DevelopersIO
前提
登場するAWSアカウントと作成済みのリソース
- Management
999999999999
: Organizationsの管理アカウント - Network
111111111111
: ネットワークを管理するアカウント- グローバルネットワーク(Network Managerの基本コンポーネントとして作成が必要)
- Transit Gateway
network-prd-tgw
(東京リージョン) :Network Managerに登録済み
- Development
222222222222
: 開発環境用のアカウント- Transit Gateway
singapore-dev-tgw
(シンガポールリージョン) :Network Managerに未登録。かつ別アカウントなので今までは登録できない状態
- Transit Gateway
手順
- Managementアカウント作業:信頼できるアクセスを有効化する
- Managementアカウント作業:委任された管理者を登録する
- Networkアカウント作業: Transit Gatewayを登録する
- 確認
参考URL
基本的にはNetwork Managerのドキュメントの履歴に以下が追加されています。
The Network Manager User Guide was updated, as Network Manager now supports multi-account, which allows you to centrally manage multiple AWS Organizations accounts and transit gateways in a single global network. (May 24, 2022)
Document history for Network Manager - Amazon VPC
主に追加となったのが以下2つのページであり、基本的にこれらの手順を参考にしながら進めていきます。
Manage multiple accounts in Network Manager with AWS Organizations - Amazon VPC
1. 信頼できるアクセスを有効化する
まずはManagementアカウントでの作業となります。
VPCコンソールの左ペインから、Network Managerを選択します。 諸般の事情からAWS Coud WANの画面から進めることになりますが、「今すぐ始める」へ進みます。
早速「マルチアカウントサポート」のエリアが新設されているので、「マルチアカウントサポートの有効化」に進みます。
ここを開くと実体としては左ペインの「設定(新規)」を開いた形になります。ここで信頼されたアクセスの状態が「無効」になってるので、「有効化する」を選択します。
ここでアクセス許可レベルを Admin
か Read-Only
か選ぶことができます。
違いはドキュメントに以下記載があります。
- 読み取り専用: 委任された管理者および管理アカウントがコンソールスイッチの役割を使用しているときにグローバルネットワーク内の他のアカウントからのリソースに関する情報を確認するだけでよく、変更を加える必要がない場合は、この権限を割り当てます。
- 管理者: 委任された管理者および管理アカウントがネットワークマネージャーコンソールスイッチの役割を使用しているときにグローバルネットワーク内の他のアカウントからリソースを変更できる必要がある場合は、この権限を割り当てます。 参考元)Multi-account - Amazon VPC
今回はNetworkアカウントから変更もできるようにしたいため、 Admin
を選択して有効化します。
するととりいそぎステータスは Enabled
になりました。(すみません。コンソールが日本語表示、英語表示が混在することご容赦ください...)
2. 委任された管理者を登録する
そのままの流れで、委任された管理者としてNetworkアカウントを登録します。
"Resister delegated adminstrator" を選択すると、対象AWSアカウントを指定できます。
ここでNetworkアカウントを選択して、実行します。
登録すると、しばらくStateがpendingでしたがRegisteredに変更になりました。 すると、ページ下部の IAM role deployments statusのエリアにて、Organizations配下のメンバーアカウントに対するIAMロールのデプロイが走り始めたことを確認できました。
しばらくすると、各メンバーアカウントに対してIAMロールがデプロイされStackSetsで管理されていることが確認できました。
補足として、ドキュメントには「1.信頼されたアクセスを有効化する」を実行後に、このIAMロール作成が走ると読み取れますが、実際は「2.委任された管理者を登録する」を終えると実行されたので注意です。
余談として、他AWSサービスにも「Organizations連携による信頼されたアクセスの有効化」はありますが、今回のようにサービス側のコンソールにて「IAMロールのデプロイ状況を確認できる画面」があるのは初見の気がします。いいですね。
3.Transit Gatewayを登録する
マルチアカウントサポートの有効化と、管理者の委任が完了したので、Networkアカウント側にて作業します。
Managementアカウントと同様に、VPCコンソールからNetwork Manager画面を開きます。前提に記載の通り、既にグローバルネットワーク test-global-network
と、NetworkアカウントのTGW network-prd-tgw
は登録済みです。
それでは今回DevelopmentアカウントのTGW singapore-dev-tgw
を登録してみます。
Network Manager画面の TGW一覧から "Register Transit Gateway"へ進みます。
"Select account"にて、Developmentアカウントを選択すると、候補一覧の中に、目当てのTGW singapore-dev-tgw
を確認することができました。これを選択して実行します。
補足として、一覧の中には、NetworkアカウントのTGWも表示されました。これはNetworkアカウントからRAMを使いTGWを他メンバーアカウントへ共有しているためと思われます。(今回は選択しません)
そしてしばらくすると、登録されたTGW一覧の中に入ったことが確認できました。
4. 確認
"Geography"のタブを開くと、TGWsが既存+今回で2つになっており、マップ上にも東京リージョンに1つ、シンガポールリージョンに1つあることが確認できました。
"Topology tree"のタブを開くと、Transit gatewaysに新しくTGWがひもづいていることが確認できました。
まとめ
今回のTGWのように、これでNetwork Managerに登録されたリソースはどのアカウントで作成されたかを意識せず、管理することができそうです。すばらっ!Network Managerは無料です、どんどん使っていきましょう。
確認は以上です。